A Proof Framework for Concurrent Programs
نویسندگان
چکیده
This paper presents a proof framework for verifying concurrent programs that communicate using global variables. The approach is geared towards verification of models that have an unbounded state size and are as close to the original code as possible. The bakery algorithm is used as a demonstration of the framework basics, while the (full) framework with thread synchronization was used to verify and correct the reentrant readers writers algorithm as used in the Qt library.
منابع مشابه
Constructing the Views Framework
The views framework of Dinsdale-Young and others unifies several compositional techniques for reasoning about concurrent programs. This paper uses simple mathematics to construct the views framework incrementally from first principles. The result is a model for the views framework, which can also be understood as an independent theory of concurrent programs. Along the lines of “sequential progr...
متن کاملA Theorem Proving Approach for Verification of Reactive Concurrent Programs
We present a framework for the specification and verification of reactive concurrent programs using generalpurpose mechanical theorem proving. We define specifications for concurrent programs by formalizing a notion of refinements analogous to stuttering trace containment. The formalization supports the definition of intuitive specifications of the intended behavior of a program. We present a c...
متن کاملFrom Concurrent Programs to Simulating Sequential Programs: Correctness of a Transformation
FRAMA-C is a software analysis framework that provides a common infrastructure and a common behavioral specification language to plugins that implement various static and dynamic analyses of C programs. Most plugins do not support concurrency. We have proposed CONC2SEQ, a FRAMA-C plugin based on program transformation, capable to leverage the existing huge code base of plugins and to handle con...
متن کاملCompositional information flow security for concurrent programs
We present a general unwinding framework for the definition of information flow security properties of concurrent programs, described in a simple imperative language enriched with parallelism and atomic statement constructors. We study different classes of programs obtained by instantiating the general framework and we prove that they entail the noninterference principle. Accurate proof techniq...
متن کاملProving Correctness of Constraint Logic
A general framework based on Hoare logic is introduced for specifying and reasoning about Constraint Logic Programs with dynamic scheduling. The framework consists of a mixed formalism of programs in a ccp-like language, on the one hand, and correctness properties of the Hoare logic, on the other hand. In this formalism delay conditions are viewed as a speciic class of correctness properties. I...
متن کامل